Execution Time Analysis for Embedded Real-Time Systems

نویسندگان

  • Andreas Ermedahl
  • Jakob Engblom
چکیده

1 Introduction This chapter deals with the problem of how to estimate and analyze the execution time of embedded real-time software, in particular the worst-case execution time. A real-time system must react within precise time constraints, related to events in its environment and the system it controls. This means that the correct behavior of a real-time system depends not only on the result of the computation but also on the time at which the result is produced. Thus, knowing the execution-time characteristics of a program is fundamental to the successful design and execution of a real-time system [22, 57]. The size and the complexity of the software in real-time system are constantly increasing. This makes it hard, or even impossible, to perform exhaustive testing of the execution time. Furthermore, the hardware used in real-time systems is steadily becoming more complex, including advanced computer architecture features such as caches, pipelines, branch prediction, and out-of-order execution. These features increase the speed of execution on average, but also makes the timing behavior much harder to predict, since the variation in execution time between fortuitious and worst cases increase. Execution time analysis is any structured method or tool applied to the problem of obtaining information about the execution time of a program or parts of a program. The fundamental problem that a timing analysis has to deal with is the following: the execution time of a typical program (or other relevant piece of code) is not a fixed constant, but rather varies with different probability of occurrence across a range of times. 1 INTRODUCTION 2 No real-time Soft real-time Hard real-time System simulation User interface Internet video Vehicle control Tele communication Aircraft control Figure 1.1: Continuum of timing criticality Variations in the execution time occur due to variations in input data, as well as the characteristics of the software, the processor and the computer system in which the program is executed. The worst-case execution time (WCET) of a program is defined as the longest execution time that will ever be observed when the program is run on its target hardware. It is the most critical measure for most real-time work. The WCET is needed for many different types of system analysis for real-time systems. For example, it is a critical component of schedulability analysis techniques, it is used to ensure that interrupts are handled with sufficiently short reaction times, that periodic processing is performed …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Exploiting Non-intrusive Monitoring in Real-Time Embedded Operating Systems

Monitoring in embedded system software can have several uses, ranging from system characterization to run-time verification (RV). Traditional monitoring techniques require code instrumentation, imposing an overhead on system execution both in performance and timeliness. In real-time systems this is exarcebated by the need of new worst-case execution time estimation and schedulability analysis. ...

متن کامل

Worst Case Execution Time Analysis for Petri Net Models of Embedded Systems

We present an approach for Worst-Case Execution Time (WCET) Analysis of embedded system software, that is generated from Petri net specifications. The presented approach is part of our work towards a Petri net based methodology for the seamless design of embedded real-time systems. One main characteristic of the approach is that standard Petri net analysis methods are utilized during timing ana...

متن کامل

A Java processor architecture for embedded real-time systems

Architectural advancements in modern processor designs increase average performance with features such as pipelines, caches, branch prediction, and out-of-order execution. However, these features complicate worst-case execution time analysis and lead to very conservative estimates. JOP (Java Optimized Processor) tackles this problem from the architectural perspective – by introducing a processo...

متن کامل

Using Components to Facilitate Stochastic Schedulability Analysis

In this work-in-progress paper we present how Component Based Software Engineering (CBSE) may be used to facilitate stochastic schedulability analysis of embedded real-time systems, by providing realistic models of execution time distributions. We present our ongoing work regarding the usage of Execution Time Profiles (ETPs) to represent the timing behaviour of real-time components. These ETPs ...

متن کامل

pWCET: a Tool for Probabilistic Worst-Case Execution Time Analysis of Real-Time Systems

This paper describes the tool support for a framework for performing probabilistic worst-case execution time (WCET) analysis for embedded real-time systems. The tool is based on a combination of measurement and static analysis, all in a probabilistic framework. Measurement is used to determine execution traces and static analysis to construct the worst path and effectively providing an upper bo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007